package com.gitee.feizns.quickstart.mybatis.plus.plugins.inner.autofill.annotation;

import com.gitee.feizns.quickstart.mybatis.plus.plugins.inner.autofill.AutoFillAnnotationInnerInterceptor;
import com.gitee.feizns.quickstart.mybatis.plus.plugins.inner.autofill.AutoFillStrategy;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 指定字段或注解的自定填充策略
 * @see AutoFillAnnotationInnerInterceptor
 * @author feizns
 * @since 2023/3/4
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.ANNOTATION_TYPE, ElementType.FIELD})
public @interface AutoFill {

    /**
     * 自定义填充策略
     * @return {@link AutoFillStrategy}
     */
    Class<? extends AutoFillStrategy> value();

}
